package classes;

import Exceptions.DadosInsuficientesExceptions;
import classes.TratamentoDeErros;

public class Endereco {
	
	TratamentoDeErros trataErros = new TratamentoDeErros();
	
	private String rua, numero, bairro, cidade, estado, complemento;
	
	public Endereco(String rua, String numero, String bairro, String cidade,String estado, String complemento) throws Exception{
		this.rua = trataErros.validaString(rua);
		this.numero = trataErros.recebeSomenteNumeros(numero);
		this.bairro = trataErros.validaString(bairro);
		this.cidade = trataErros.validaString(cidade);
		this.estado = trataErros.validaString(estado);
		this.complemento = trataErros.validaString(complemento);
	}

	public String getRua() {
		return rua;
	}

	public void setRua(String rua) throws Exception{
		this.rua = trataErros.validaString(rua);
	}

	public String getNumero() {
		return numero;
	}

	public void setNumero(String numero) throws Exception{
		this.numero = trataErros.recebeSomenteNumeros(numero);
	}

	public String getBairro() {
		return bairro;
	}

	public void setBairro(String bairro) throws Exception{
		this.bairro = trataErros.validaString(bairro);
	}

	public String getCidade() {
		return cidade;
	}

	public void setCidade(String cidade) throws Exception{
		this.cidade = trataErros.validaString(cidade);
	}

	public String getEstado() {
		return estado;
	}

	public void setEstado(String estado) throws Exception{
		this.estado = trataErros.validaString(estado);
	}

	public String getComplemento() {
		return complemento;
	}

	public void setComplemento(String complemento) throws DadosInsuficientesExceptions {
		this.complemento = trataErros.validaString(complemento);
	}
	
	@Override
	public String toString(){
		return ("Rua: " + getRua() + "\nNumero: " + getNumero() + "\nBairro: " + getBairro() + "\nCidade: " + getCidade() + "\nEstado: " + getEstado() + "\nComplemento: " + getComplemento() + "\n");
	}
}
